package be.vdab.entities;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;

@Entity
@IdClass(LandTaal.class)
public class LandTaal implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	private String landCode;
	@Id
	private String taalCode;
	private int aantalSprekers;

	protected LandTaal() {

	}
	
	public String getLandCode() {
		return landCode;
	}



	public void setLandCode(String landCode) {
		this.landCode = landCode;
	}



	public String getTaalCode() {
		return taalCode;
	}



	public void setTaalCode(String taalCode) {
		this.taalCode = taalCode;
	}



	public int getAantalSprekers() {
		return aantalSprekers;
	}



	public void setAantalSprekers(int aantalSprekers) {
		this.aantalSprekers = aantalSprekers;
	}



	public LandTaal(String landCode, String taalCode) {
		this.landCode = landCode;
		this.taalCode = taalCode;
	}

	@Override
	public int hashCode() {
		return (landCode + taalCode).toUpperCase().hashCode();
	}

	@Override
	public boolean equals(Object obj) {
		if (!(obj instanceof LandTaal)) {
			return false;
		}
		LandTaal landTaal = (LandTaal) obj;
		return (landTaal.landCode.equalsIgnoreCase(landCode) && landTaal.taalCode.equalsIgnoreCase(taalCode));
	}

}
